package com.kld.system.domain.vo;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.kld.common.annotation.ExcelDictFormat;
import com.kld.common.convert.ExcelDictConvert;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;



/**
 * 用户信息视图对象 sys_user_mdm
 *
 * @author kld
 * @date 2022-06-16
 */
@Data
@ApiModel("用户信息视图对象")
@ExcelIgnoreUnannotated
public class SysUserMdmVo {

    private static final long serialVersionUID = 1L;

    /**
     * 用户id
     */
    @ExcelProperty(value = "用户id")
    @ApiModelProperty("用户id")
    private Long id;

    /**
     * uuid
     */
    @ExcelProperty(value = "uuid")
    @ApiModelProperty("uuid")
    private String userId;

    /**
     * 租户id
     */
    @ExcelProperty(value = "租户id")
    @ApiModelProperty("租户id")
    private Long tenantId;

    /**
     * 用户所属组
     */
    @ExcelProperty(value = "用户所属组")
    @ApiModelProperty("用户所属组")
    private Long groupId;

    /**
     * 登录名
     */
    @ExcelProperty(value = "登录名")
    @ApiModelProperty("登录名")
    private String loginName;

    /**
     * 用户名
     */
    @ExcelProperty(value = "用户名")
    @ApiModelProperty("用户名")
    private String displayName;

    /**
     * 密码（域用户不存密码）
     */
    @ExcelProperty(value = "密码", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "域=用户不存密码")
    @ApiModelProperty("密码（域用户不存密码）")
    private String password;

    /**
     * 1 cnpc ,2ptr ,3 iam ,4 非域用户
     */
    @ExcelProperty(value = "1 cnpc ,2ptr ,3 iam ,4 非域用户")
    @ApiModelProperty("1 cnpc ,2ptr ,3 iam ,4 非域用户")
    private Long domainId;

    /**
     * 邮箱
     */
    @ExcelProperty(value = "邮箱")
    @ApiModelProperty("邮箱")
    private String email;

    /**
     * 手机
     */
    @ExcelProperty(value = "手机")
    @ApiModelProperty("手机")
    private String mobile;

    /**
     * 用户类型（2:超级管理员，1:普通用户）
     */
    @ExcelProperty(value = "用户类型", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "2=:超级管理员，1:普通用户")
    @ApiModelProperty("用户类型（2:超级管理员，1:普通用户）")
    private Long userType;

    /**
     * 用户状态（是否禁用0，1）
     */
    @ExcelProperty(value = "用户状态", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "是=否禁用0，1")
    @ApiModelProperty("用户状态（是否禁用0，1）")
    private Integer forbidden;

    /**
     * 是否修改初始密码
     */
    @ExcelProperty(value = "是否修改初始密码")
    @ApiModelProperty("是否修改初始密码")
    private Long changeInitPassword;

    /**
     * 状态
     */
    @ExcelProperty(value = "状态")
    @ApiModelProperty("状态")
    private Long status;

    /**
     * iam推送员工编号，系统唯一
     */
    @ExcelProperty(value = "iam推送员工编号，系统唯一")
    @ApiModelProperty("iam推送员工编号，系统唯一")
    private String employeeNumber;

    /**
     * iam创建人
     */
    @ExcelProperty(value = "iam创建人")
    @ApiModelProperty("iam创建人")
    private String employeeCreateBy;

    /**
     * 员工所属机构名称
     */
    @ExcelProperty(value = "员工所属机构名称")
    @ApiModelProperty("员工所属机构名称")
    private String employeeOrgName;

    /**
     * 排序
     */
    @ExcelProperty(value = "排序")
    @ApiModelProperty("排序")
    private Long sort;

    /**
     * 备注
     */
    @ExcelProperty(value = "备注")
    @ApiModelProperty("备注")
    private String remark;

    /**
     * 是否删除
     */
    @ExcelProperty(value = "是否删除")
    @ApiModelProperty("是否删除")
    private Integer del;

    /**
     * 创建人
     */
    @ExcelProperty(value = "创建人")
    @ApiModelProperty("创建人")
    private Long creator;

    /**
     * 修改人
     */
    @ExcelProperty(value = "修改人")
    @ApiModelProperty("修改人")
    private Long updator;

    /**
     * 同步使用的外部关联ID
     */
    @ExcelProperty(value = "同步使用的外部关联ID")
    @ApiModelProperty("同步使用的外部关联ID")
    private String outerId;

    /**
     * 身份证号码
     */
    @ExcelProperty(value = "身份证号码")
    @ApiModelProperty("身份证号码")
    private String extend1;

    /**
     * 隶属单位
     */
    @ExcelProperty(value = "隶属单位")
    @ApiModelProperty("隶属单位")
    private String extend2;

    /**
     * 岗位
     */
    @ExcelProperty(value = "岗位")
    @ApiModelProperty("岗位")
    private String extend3;

    /**
     * 扩展列4
     */
    @ExcelProperty(value = "扩展列4")
    @ApiModelProperty("扩展列4")
    private String extend4;

    /**
     * 扩展列5
     */
    @ExcelProperty(value = "扩展列5")
    @ApiModelProperty("扩展列5")
    private String extend5;

    /**
     * 扩展列6
     */
    @ExcelProperty(value = "扩展列6")
    @ApiModelProperty("扩展列6")
    private Long extend6;

    /**
     * 扩展列7
     */
    @ExcelProperty(value = "扩展列7")
    @ApiModelProperty("扩展列7")
    private Long extend7;

    /**
     * 扩展列8
     */
    @ExcelProperty(value = "扩展列8")
    @ApiModelProperty("扩展列8")
    private Long extend8;

    /**
     * 单位编号
     */
    @ExcelProperty(value = "单位ID")
    @ApiModelProperty("单位ID")
    private Long orgId;
}
